package com.jugheadzhou.kafka.producer.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author jugheadzhou
 * @date 2021-09-27
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PatientBaseDto implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 患者ID */
    private Long patientId;

    /** 身份证 */
    private String idCard;

    /** 健康卡号 */
    private String healthCardNo;

    /** 姓名 */
    private String patientName;

    /** 性别 */
    private String gender;

    /** 出生日期 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
    private LocalDate birthday;

    /** 年龄 */
    private Integer age;

    /** 总费用 */
    private BigDecimal totalCost;

    /** 创建人员姓名 */
    private String creatorName;

    /** 创建时间 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /** 最新操作人员姓名 */
    private String lastModifyUserName;

    /** 最新操作时间 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastModifyTime;

    /** 是否删除（0-未删除，1-已删除） */
    private Integer deleted;

}
